//
//  FFLoading.h
//  FFAirUILoading
//
//  Created by chewyong on 2017/7/27.
//  Copyright © 2017年 isoftstone. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

typedef NS_ENUM(NSInteger, FFPromptViewLevel) { FFWindowLevel = 1, FFViewLevel = 2 };

@interface FFLoading : NSObject

/**
 *  提示框的级别（Window级别不允许点击导航栏的返回键）
 */
@property(nonatomic) FFPromptViewLevel promptViewLevel;

/**
 *  是否开启 单击隐藏提示框的手势
 */
@property(nonatomic) BOOL isOpenHiddenGesture;

/**
 *  是否开启超时提醒(需要在提示信息之前设置)
 */
@property(nonatomic) BOOL isOpenTimeOut;

/**
 *  提示框隐藏后的回调
 */
@property(nonatomic, copy) void (^hudWasHiddenBlock)(BOOL isTimeOut);

+ (FFLoading *)sharedInstance;

/**
 *  一直显示提示框，直到超时或者手动停止
 */
+ (void)showHudWithText:(NSString *)textString;

/**
 *  主动隐藏提示框
 */
+ (void)dismiss;

/**
 *自定义提示框显示时间
 *
 *  @param textString 提示信息
 *  @param duration   提示框显示的时长
 */
+ (void)showHudWithText:(NSString *)textString duration:(NSTimeInterval)duration;

/**
 *  提示框默认展示1秒后自动隐藏
 */
+ (void)showAutomicHiddenHudText:(NSString *)textString;

/**
 *  展示自定义的视图
 */
+ (void)showHudWithCustomView:(UIView *)customView;

/**
 *  展示自定义的视图
 */
+ (bool)isShowing;

@end
